/**************************************************************************
 * @doc PARAMETER REPORT
 * @module PARAMRPT.H - Header code for the terminal statistics module.|  
 * Header code for the American Express handling functions.
 *
 * Product     :   SoftPay 2000 (Global Payment Methodology).
 * <nl>Developer   :   SoftPay Development Team (I_SP2000).
 * <nl>Notes       :
 *
 * @head3 PARAMRPT Functions |
 * @index | PARAMRPT
 * @end
 *
 * Copyright (c) 1996-2000 by VeriFone Inc. All rights reserved.
 * 
 * No part of this software may be used, stored, compiled, reproduced,
 * modified, transcribed, translated, transmitted, or transferred, in any form 
 * or by any means whether electronic, mechanical, magnetic, optical, 
 * or otherwise, without the express prior written permission of VeriFone, Inc.
 *
 * Revision History
 * ------------------------------------------------------------------------
 * $log: /Base-99996/Accum/amex.h $
 * ------------------------------------------------------------------------
 ********************************************************************************/

#ifndef _PARAMRPT_H_
#define _PARAMRPT_H_

#define PARAMRPT_HEADER_START		1
#define PARAMRPT_HEADER_END			10
#define TERMINAL_DATA_START			11
#define TERMINAL_DATA_END			30
#define MERCHANT_INFO_START			31
#define MERCHANT_INFO_END			40
#define CURRENCY_DATA_START			41
#define CURRENCY_DATA_END			50
#define MERCHANT_DATA_START			51
#define MERCHANT_DATA_END			60
#define CARD_INFO_START				61
#define CARD_INFO_END				80

#define PARMRPT_COMPLETE_START		141
#define PARMRPT_COMPLETE_END		150

typedef struct _paramrpt {
	char szApplID[42+1];
	char szEPROMVersion[42+1];
	char szTerminalType[12+1];
	char szTerminalSerialNo[11+1];
	char szPrnEnabled[12+1];
	char szPrnFirmware[42+1];
	char szDebitEnabled[42+1];
	char szIndustryType[42+1];
	char szTipProcessing[42+1];
	char szTipOnSale[42+1];
	char szClerkProcessing[42+1];
	int  inColumnMode;

/* -- MIT data items -- */
    char szRctHdr1[TERM_ADDR_SIZE + 1];    
    char szRctHdr6[TERM_ADDR_SIZE + 1];    
    char szRctFoot4[TERM_ADDR_SIZE + 1];   
    char szAutoSettTime[TIME_SIZE + 1];    


/* -- card range data items -- */
	char szPANHi[CDT_CRANGE_SIZE+1];
	char szPANLo[CDT_CRANGE_SIZE+1];
	int  inHostNumber;
	char szCardType[10+1];
	char szCardAbbrev[SML_CLABEL_SIZE+1];
	char szFloorLimit[FORMATTED_AMOUNT_SIZE+1];
	char szTipDiscount[FORMATTED_AMOUNT_SIZE+1];
	char szLuhnCheck[3+1];
	char szCardLabel[CLABEL_SIZE+1];
	char szAVSEnabled[3+1];
	int  inMinLength;
	int  inMaxLength;

/* -- CST data -- */
	char szCurSymbol[CUR_SYMBOL_SIZE+1];
	char szCurCode[CUR_CODE_SIZE+1];

/* -- MHT data -- */
	char szMerchID[MERCH_ID_SIZE+1];
	long lnMerchStan;
	int  inMerchSeqNum;
	long lnMerchBatchNum;
	int  inMerchSettleFlag;
} PARAMETER_REPORT;

extern PARAMETER_REPORT gsrParamRpt;

int inParameterReportOperation( TRANSACTION_OBJECT *pobTran );
int PARAMRPT_CODE_CHECK(char * a,char *b,short *  c,char * d,unsigned char * e);

#endif
